package sch.frog.behavioral.template;

public abstract class AbstractClass {

    protected abstract void abstractMethod();

    protected abstract boolean hookMethod();

    protected void specialMethod(){
        System.out.println("abstract");
    }

    public final void templateMethod(){
        abstractMethod();
        if(hookMethod()){
            System.out.println("hook it.");
        }
        System.out.println("do something...");
        specialMethod();
    }

}
